#ifndef LIVEVIEWMANAGER_H
#define LIVEVIEWMANAGER_H

#include <QObject>

class LiveInfoView;
class LiveStatusView;
class LiveWindow;

class LiveViewManager : public QObject
{
    Q_OBJECT
public:
    explicit LiveViewManager(QWidget* main_view, QObject* parent = nullptr);
    ~LiveViewManager();

    LiveWindow* window() const { return window_; }
    const QList<LiveInfoView*>& infoViews() const { return info_views_; }
    const QList<LiveStatusView*>& realtimeViews() const { return realtime_views_; }
    const QList<LiveStatusView*>& statusView() const { return status_views_; }
    bool infoPassedCaptcha() const;
    bool passedCaptcha() const;
    int needCaptchaCount() const;

Q_SIGNALS:
    void captchaStateChanged();

private:
    LiveWindow* window_;
    QList<LiveInfoView*> info_views_;
    QList<LiveStatusView*> realtime_views_;
    QList<LiveStatusView*> status_views_;
};

#endif // LIVEVIEWMANAGER_H
